<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Modulare Programmierung</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Modulare_Programmierung"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Modulare_Programmierung rootpage-Modulare_Programmierung skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Modulare Programmierung</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p><b>Modulare Programmierung</b> ist ein <a href="Programmierparadigma" title="Programmierparadigma">Programmierparadigma</a>. Der Ansatz sieht vor, <a href="Computerprogramm" title="Computerprogramm">Computerprogramme</a> systematisch in logische Teilblöcke aufzuspalten, die <a href="Modul_(Software)" title="Modul (Software)">Module</a> genannt werden.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Modulare Programmierung soll größere <a href="Softwareprojekt" class="mw-redirect" title="Softwareprojekt">Softwareprojekte</a> kontrollierbar und übersichtlich halten. Module können einzeln geplant, programmiert und getestet werden. Universelle Module müssen nur einmal programmiert und können <a href="Wiederverwendbarkeit" title="Wiederverwendbarkeit">wiederverwendet</a> werden. Insofern ist eine Ähnlichkeit zur <a href="Serviceorientierte_Architektur" title="Serviceorientierte Architektur">serviceorientierten Architektur</a> (SOA) vorhanden. Wenn alle Module erfolgreich getestet sind, können diese Einzelteile logisch miteinander verknüpft und zu einer größeren Anwendung zusammengesetzt werden. Erst dann ist die Anwendung als gesamtes einsatzbereit.
</p><p>Praktisch alle aktuellen <a href="Imperative_Programmiersprache" class="mw-redirect" title="Imperative Programmiersprache">imperativen Programmiersprachen</a> erlauben die Umsetzung des modularen Ansatzes. Hierzu zählt die <a href="Prozedurale_Programmierung" title="Prozedurale Programmierung">prozedurale Programmierung</a>, die Prozeduren zusammen mit Daten in Modulen zusammengefasst. Und in der <a href="Objektorientierte_Programmierung" title="Objektorientierte Programmierung">objektorientierte Programmierung</a> sind es ihre Grundelemente, die <a href="Klasse_(objektorientierte_Programmierung)" class="mw-redirect" title="Klasse (objektorientierte Programmierung)">Klassen</a>, die Modulen entsprechen.
</p><p><a href="Modula-2" title="Modula-2">Modula-2</a>, <a href="Ada_(Programmiersprache)" title="Ada (Programmiersprache)">Ada</a>, <a href="Oberon_(Programmiersprache)" title="Oberon (Programmiersprache)">Oberon</a>, <a href="Component_Pascal" title="Component Pascal">Component Pascal</a> und <a href="Very_High_Speed_Integrated_Circuit_Hardware_Description_Language" title="Very High Speed Integrated Circuit Hardware Description Language">VHDL</a> sind typische modulare <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a>.
</p><p>In anderen Programmierungssprachen bieten sich Bibliotheken an, die die Modularisierung der Programmierungssprache imitieren können, wenn diese von der Sprache nicht unterstützt wird. Insbesondere bietet sich das an, wenn die Sprache die Möglichkeit bietet bei Laufzeit weitere Klassen hinzuzuladen. Dies wird in <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> mit dem <a href="OSGi" title="OSGi">OSGi Framework</a> durchgeführt.
Auch im <a href=".Net-Framework" title=".Net-Framework">.Net-Framework</a> gibt es von Haus aus Möglichkeiten, <a href=".NET_Framework#Assemblies" class="mw-redirect" title=".NET Framework">Assemblies</a> dynamisch nachzuladen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite">Sebastian Vidal: <a rel="nofollow" class="external text" href="https://tecnobits.com/de/Was-ist-modulare-Programmierung%3F/"><i>Was ist modulare Programmierung?</i></a> In: <i>tecnobits.com.</i> TecnoBits.com, 23. Dezember 2023,<span class="Abrufdatum"> abgerufen am 23. April 2025</span>: „Modulare Programmierung Dabei handelt es sich um eine Programmiertechnik, die auf der Aufteilung eines Programms in kleinere, besser verwaltbare Module basiert. Jedes Modul verfügt über seine eigene spezifische Funktionalität und kann unabhängig entwickelt und getestet werden.“</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AModulare+Programmierung&rft.title=Was+ist+modulare+Programmierung%3F&rft.description=Was+ist+modulare+Programmierung%3F&rft.identifier=https%3A%2F%2Ftecnobits.com%2Fde%2FWas-ist-modulare-Programmierung%253F%2F&rft.creator=Sebastian+Vidal&rft.publisher=TecnoBits.com&rft.date=2023-12-23&rft.language=de"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-04-24" href="https://de.wikipedia.org/wiki/?title=Modulare_Programmierung&oldid=255418063">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>